The present invention relates to a technique for improving reliability of a nonvolatile memory system and, more particularly, to a technique effectively applied to data protection in a memory system constructed by using a nonvolatile semiconductor memory.
As external storage media of a personal computer, a multifunctional peripheral, and the like, for example, memory systems such as a CF (Compact Flash) card, Smart media, a memory stick, and a multimedia card are widely known.
In a process of reading/writing data from/to such a memory system, at the time of storing data into the memory card, even in the case where a write error occurs, sound data and video data is not rewritten. By sequentially writing data which is received continuously, overflow of data is prevented. With respect to data such as FAT data, in the case where a write error occurs, a spare region is retrieved and data is rewritten (refer to, for example, Japanese Patent Application No. 2001-334243).
In the case where a host makes a request for reading/transferring data which is erroneous from a memory system, if the memory system has a correcting function such as an ECC (Error Correcting Code) and the erroneous data is correctable, the memory system corrects the data, rewrites the data in the memory system, and transfers the data to the host.
In the case where the data is not correctable or the memory system has an error detecting function such as a parity check, an error is notified to the host and the process is finished.